"""
pip install jsonpath
很多时候服务端给前端发送回来的是json格式的字符串
只能解析本地的json文件-->返回列表
"""
import json
import jsonpath

with open("jsonpath01-基本使用.json", "r", encoding="utf-8") as f:
    content = f.read()  # json类型的str
    dict1 = json.loads(content)  # json转字典
    print(type(dict1))

    # 1.书店所有书的作者
    print(jsonpath.jsonpath(dict1, "$.store.book[*].author"))

    # 2.所有的作者
    print(jsonpath.jsonpath(dict1, "$..author"))

    # 3.store的所有元素
    print(jsonpath.jsonpath(dict1, "$.store.*"))

    # 3.所有元素
    print(jsonpath.jsonpath(dict1, "$..*"))

    # 4.store里面所有东西的price
    print(jsonpath.jsonpath(dict1, "$..price"))

    # 5.第三个书
    print(jsonpath.jsonpath(dict1, "$.store.book[2]"))

    # 6.最后一本书
    print(jsonpath.jsonpath(dict1, "$.store.book[@length-1]"))

    # 7.前面的两本书
    print(jsonpath.jsonpath(dict1, "$.store.book[:2]"))
    print(jsonpath.jsonpath(dict1, "$.store.book[1,2]"))

    # 8.过滤出所有的包含isbn的书
    print(jsonpath.jsonpath(dict1, "$.store.book[?(@.isbn)]"))


